package top.lyjwn.todo.weinxin.data.mch.param;

import top.lyjwn.todo.common.utils.XMLUtil;

/**
 * 下载资金账单
 * 
 * @author luoyujie
 *
 */
public class DownloadFundFlow implements XmlFormat {

	/**
	 * 公众账号ID
	 * 
	 * 必填
	 * 
	 * 微信分配的公众账号ID（企业号corpid即为此appId）
	 */
	private String appid;

	/**
	 * 必填
	 * 
	 * 商户号
	 * 
	 * 微信支付分配的商户号
	 */
	private String mch_id;

	/**
	 * 必填
	 * 
	 * 随机字符串
	 * 
	 * 随机字符串，不长于32位。推荐随机数生成算法
	 */
	private String nonce_str;

	/**
	 * 必填
	 * 
	 * 签名
	 * 
	 * 签名，详见签名生成算法
	 */
	private String sign;

	/**
	 * 非必填
	 * 
	 * 签名类型
	 * 
	 * 签名类型，目前仅支持HMAC-SHA256
	 */
	private String sign_type = "HMAC-SHA256";

	/**
	 * 必填
	 * 
	 * 资金账单日期
	 * 
	 * 下载对账单的日期，格式：20140603
	 */
	private String bill_date;

	/**
	 * 必填
	 * 
	 * 资金账户类型
	 * 
	 * 账单的资金来源账户：
	 * 
	 * Basic 基本账户
	 * 
	 * Operation 运营账户
	 * 
	 * Fees 手续费账户
	 * 
	 */
	private String account_type = "Basic";

	/**
	 * 非必填
	 * 
	 * 压缩账单
	 * 
	 * 非必传参数，固定值：GZIP，返回格式为.gzip的压缩包账单。不传则默认为数据流形式。
	 */
	private String tar_type = "GZIP";

	public DownloadFundFlow(String appid,String mch_id,String nonce_str, String bill_date, String account_type) {
		this.appid = appid;
		this.mch_id = mch_id;
		this.nonce_str = nonce_str;
		this.bill_date = bill_date;
		this.account_type = account_type;
	}

	public DownloadFundFlow() {
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public String getSign_type() {
		return sign_type;
	}

	public void setSign_type(String sign_type) {
		this.sign_type = sign_type;
	}

	public String getTar_type() {
		return tar_type;
	}

	public void setTar_type(String tar_type) {
		this.tar_type = tar_type;
	}

	public String getAppid() {
		return appid;
	}

	public String getMch_id() {
		return mch_id;
	}

	public String getNonce_str() {
		return nonce_str;
	}

	public String getSign() {
		return sign;
	}

	public String getBill_date() {
		return bill_date;
	}

	public String getAccount_type() {
		return account_type;
	}

	@Override
	public String toXml() {
		return XMLUtil.convertToXml(this);
	}

}
